package com.blog.controller;

import com.baomidou.mybatisplus.extension.api.R;
import com.blog.domain.DTO.TagListDto;
import com.blog.domain.ResponseResult;
import com.blog.domain.vo.PageVo;
import com.blog.domain.vo.TagVo;
import com.blog.service.TagService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/content/tag")
public class TagController {

	@Autowired
	private TagService tagService;

	/**查询标签并返回
	 *
	 * @return
	 */
	@GetMapping("/list")
	public ResponseResult<PageVo> list(Integer pageNum, Integer pageSize,
	                                   TagListDto tagListDto){

		return tagService.pageTageList(pageNum,pageSize,tagListDto);
	}

	/**新增标签
	 *
	 * @param tagListDto
	 * @return
	 */

	@PostMapping
	public ResponseResult addTag(@RequestBody  TagListDto tagListDto){

		return  tagService.addTag(tagListDto);
	}

	/**删除标签
	 *
	 * @param ids
	 * @return
	 */
	@DeleteMapping("/{id}")
	public ResponseResult deleteTag(@PathVariable("id") List<Long> ids){
		return tagService.deleteTag(ids);

	}

	/**获取标签详情
	 *
	 * @param id
	 * @return
	 */
	@GetMapping("/{id}")
	public ResponseResult<TagListDto> getTagDetail(@PathVariable Long id){

		return tagService.getTagDetail(id);
	}

	/**修改标签
	 *
	 * @return
	 */
	@PutMapping
	public ResponseResult updateTag(@RequestBody TagListDto tagListDto){

		return tagService.updateTag(tagListDto);

	}

	/**查询所有标签
	 *
	 * @return
	 */

	@GetMapping("/listAllTag")
	public ResponseResult<TagVo> selectAllTag(){

		return tagService.selectAllTag();

	}

}
